Course Name | Concepts of Object-Oriented Programming |
Code | Semester | Theory (hour/week) | Application/Lab (hour/week) | Local Credits | ECTS |
---|---|---|---|---|---|
SE 307 | Fall/Spring | 2 | 2 | 3 | 7 |
Prerequisites |
| ||||||||
Course Language | English | ||||||||
Course Type | Elective | ||||||||
Course Level | First Cycle | ||||||||
Mode of Delivery | - | ||||||||
Teaching Methods and Techniques of the Course | DiscussionGroup WorkProblem SolvingQ&ACritical feedbackApplication: Experiment / Laboratory / WorkshopLecture / Presentation | ||||||||
Course Coordinator | |||||||||
Course Lecturer(s) | |||||||||
Assistant(s) |
Course Objectives | This course provides a conceptual and practical introduction to object oriented programming; through the widely used C# programming language. The fundamental concepts associated with objectoriented programming (for instance, object, class, protocol, hierarchy, inheritance, encapsulation, polymorphism, reuse of code, interfaces, collaboration, etc) will be introducedand demonstrated through the C# Programming language. |
Learning Outcomes | The students who succeeded in this course;
|
Course Description | This course introduces the students to the fundamental concepts of object oriented programming using the C# programming language. |
Related Sustainable Development Goals |
| Core Courses | |
Major Area Courses | X | |
Supportive Courses | ||
Media and Managment Skills Courses | ||
Transferable Skill Courses |
Week | Subjects | Required Materials |
1 | Introduction to object oriented concepts | Weisfeld Ch. 1 |
2 | How to think in terms of objects | Weisfeld Ch. 2 |
3 | Advanced object oriented concepts | Weisfeld Ch. 3 |
4 | The anatomy of a class | Weisfeld Ch. 4 |
5 | Class design guidelines | Weisfeld Ch. 5 |
6 | Designing with objects | Weisfeld Ch. 6 |
7 | Midterm exam | |
8 | Mastering inheritence and composition | Weisfeld Ch. 7 |
9 | Frameworks and reuse: designing with interfaces and abstract classes | Weisfeld Ch. 8 |
10 | Building objects | Weisfeld Ch. 9 |
11 | Building objects | Weisfeld Ch. 9 |
12 | Creating object models with UML | Weisfeld Ch. 10 |
13 | Creating object models with UML | Weisfeld Ch. 10 |
14 | Project presentations | |
15 | Project presentations | |
16 | Review of the Semester |
Course Notes/Textbooks | Weisfeld, M., The ObjectOriented Thought, 3rd ed., AddisonWesley, 2009. |
Suggested Readings/Materials | Sharp J., Microsoft Visual C# 2013 Step by Step, Microsoft Press |
Semester Activities | Number | Weigthing |
Participation | 1 | |
Laboratory / Application | 1 | 15 |
Field Work | ||
Quizzes / Studio Critiques | 4 | 8 |
Portfolio | ||
Homework / Assignments | 1 | 10 |
Presentation / Jury | ||
Project | 1 | 25 |
Seminar / Workshop | ||
Oral Exam | ||
Midterm | ||
Final Exam | 1 | 42 |
Total |
Weighting of Semester Activities on the Final Grade | 18 | 70 |
Weighting of End-of-Semester Activities on the Final Grade | 1 | 30 |
Total |
Semester Activities | Number | Duration (Hours) | Workload |
---|---|---|---|
Course Hours (Including exam week: 16 x total hours) | 16 | 2 | 32 |
Laboratory / Application Hours (Including exam week: 16 x total hours) | 16 | 2 | |
Study Hours Out of Class | 14 | 3 | 42 |
Field Work | |||
Quizzes / Studio Critiques | 4 | 4 | |
Portfolio | |||
Homework / Assignments | 1 | 16 | |
Presentation / Jury | |||
Project | 1 | 40 | |
Seminar / Workshop | |||
Oral Exam | |||
Midterms | |||
Final Exams | 1 | 32 | |
Total | 210 |
# | Program Competencies/Outcomes | * Contribution Level | ||||
1 | 2 | 3 | 4 | 5 | ||
1 | To have adequate knowledge in Mathematics, Science and Computer Engineering; to be able to use theoretical and applied information in these areas on complex engineering problems. | X | ||||
2 | To be able to identify, define, formulate, and solve complex Computer Engineering problems; to be able to select and apply proper analysis and modeling methods for this purpose. | X | ||||
3 | To be able to design a complex system, process, device or product under realistic constraints and conditions, in such a way as to meet the requirements; to be able to apply modern design methods for this purpose. | X | ||||
4 | To be able to devise, select, and use modern techniques and tools needed for analysis and solution of complex problems in Computer Engineering applications; to be able to use information technologies effectively. | X | ||||
5 | To be able to design and conduct experiments, gather data, analyze and interpret results for investigating complex engineering problems or Computer Engineering research topics. | X | ||||
6 | To be able to work efficiently in Computer Engineering disciplinary and multi-disciplinary teams; to be able to work individually. | X | ||||
7 | To be able to communicate effectively in Turkish, both orally and in writing; to be able to author and comprehend written reports, to be able to prepare design and implementation reports, to present effectively, to be able to give and receive clear and comprehensible instructions. | |||||
8 | To have knowledge about global and social impact of Computer Engineering practices on health, environment, and safety; to have knowledge about contemporary issues as they pertain to engineering; to be aware of the legal ramifications of Computer Engineering solutions. | |||||
9 | To be aware of ethical behavior, professional and ethical responsibility; to have knowledge about standards utilized in engineering applications. | |||||
10 | To have knowledge about industrial practices such as project management, risk management, and change management; to have awareness of entrepreneurship and innovation; to have knowledge about sustainable development. | |||||
11 | To be able to collect data in the area of Computer Engineering, and to be able to communicate with colleagues in a foreign language. ("European Language Portfolio Global Scale", Level B1) | X | ||||
12 | To be able to speak a second foreign language at a medium level of fluency efficiently. | |||||
13 | To recognize the need for lifelong learning; to be able to access information, to be able to stay current with developments in science and technology; to be able to relate the knowledge accumulated throughout the human history to Computer Engineering. | X |
*1 Lowest, 2 Low, 3 Average, 4 High, 5 Highest